﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace EITSurferInfinityLib
{
    public delegate void PositionReachedEventHandler(object sender,EventArgs e);
    public delegate void StoppedEventHandler(object sender, EventArgs e);
    public delegate void CirclesStartedEventHandler(object sender, EventArgs e);
    public delegate void CirclesDoneEventHandler(object sender, EventArgs e);
    public delegate void ObjectOutOfWaterEventHandler(object sender, EventArgs e);

    public interface ISerialDevice
    {
        void Send(string msg);
        void Open();
        void Close();
        void Circle(double x, double y, double z, double radius, double speed, double rotation);
        void TakeObjectOutOfWater();
        void Stop();

        event PositionReachedEvent OnPositionReached;
        event StoppedEvent OnStopped;
        event CirclesStartedEvent OnCirclesStarted;
        event CirclesDoneEvent OnCirclesDone;
        event ObjectOutOfWaterEvent OnObjectOutOfWater;
    }
}
